package 炫彩基类

import (
	common "gitee.com/go_888/xcgui/xcgui/common"
	"unsafe"

	xcc "gitee.com/go_888/xcgui/xcgui/xcc"
)

// 窗格_创建, 创建窗格元素, 返回元素句柄.
//
//
//
//
// ff:窗格_创建
// pName:窗格标题
// nWidth:宽度
// nHeight:高度
// hFrameWnd:框架窗口
func X窗格_创建(窗格标题 string, 宽度, 高度 int32, 框架窗口 int) int {
	r, _, _ := xPane_Create.Call(common.X文本到uintptr(窗格标题), uintptr(宽度), uintptr(高度), uintptr(框架窗口))
	return int(r)
}

// 窗格_置视图, 设置窗格视图元素.
//
//
// ff:窗格_设置视图
// hEle:元素句柄
// hView:视图元素
func X窗格_设置视图(元素句柄 int, 视图元素 int) {
	xPane_SetView.Call(uintptr(元素句柄), uintptr(视图元素))
}

// 窗格_置标题, 设置标题文本.
//
//
// ff:窗格_设置标题
// hEle:元素句柄
// pTitle:文本内容
func X窗格_设置标题(元素句柄 int, 文本内容 string) {
	xPane_SetTitle.Call(uintptr(元素句柄), common.X文本到uintptr(文本内容))
}

// 窗格_取标题, 获取标题文本.
//
// ff:窗格_取标题
// hEle:元素句柄
func X窗格_取标题(元素句柄 int) string {
	r, _, _ := xPane_GetTitle.Call(uintptr(元素句柄))
	return common.Uintptr到文本(r)
}

// 窗格_置标题栏高度, 设置标题栏高度.
//
//
// ff:窗格_设置标题栏高度
// hEle:元素句柄
// nHeight:高度
func X窗格_设置标题栏高度(元素句柄 int, 高度 int32) {
	xPane_SetCaptionHeight.Call(uintptr(元素句柄), uintptr(高度))
}

// 窗格_取标题栏高度, 获取标题栏高度.
//
// ff:窗格_取标题栏高度
// hEle:元素句柄
func X窗格_取标题栏高度(元素句柄 int) int32 {
	r, _, _ := xPane_GetCaptionHeight.Call(uintptr(元素句柄))
	return int32(r)
}

// 窗格_判断显示, 判断窗格是否显示.
//
// ff:窗格_是否显示
// hEle:元素句柄
func X窗格_是否显示(元素句柄 int) bool {
	r, _, _ := xPane_IsShowPane.Call(uintptr(元素句柄))
	return r != 0
}

// 窗格_置大小, 设置窗格大小.
//
//
//
// ff:窗格_设置大小
// hEle:元素句柄
// nWidth:宽度
// nHeight:高度
func X窗格_设置大小(元素句柄 int, 宽度, 高度 int32) {
	xPane_SetSize.Call(uintptr(元素句柄), uintptr(宽度), uintptr(高度))
}

// 窗格_取状态, 获取窗格停靠状态, 返回: Pane_State_.
//
// ff:窗格_取状态
// hEle:元素句柄
func X窗格_取状态(元素句柄 int) xcc.X窗格状态 {
	r, _, _ := xPane_GetState.Call(uintptr(元素句柄))
	return xcc.X窗格状态(r)
}

// 窗格_取视图坐标, 获取窗格视图坐标.
//
//
// ff:窗格_取视图坐标
// hEle:元素句柄
// pRect:返回矩形
func X窗格_取视图坐标(元素句柄 int, 返回矩形 *X结构_矩形) {
	xPane_GetViewRect.Call(uintptr(元素句柄), uintptr(unsafe.Pointer(返回矩形)))
}

// XPane_HidePane 窗格_隐藏.
//
//
// ff:窗格_隐藏
// hEle:元素句柄
// bGroupActivate:延迟组成员激活
func X窗格_隐藏(元素句柄 int, 延迟组成员激活 bool) {
	xPane_HidePane.Call(uintptr(元素句柄), common.X布尔值到uintptr(延迟组成员激活))
}

// XPane_ShowPane 窗格_显示.
//
//
// ff:窗格_显示
// hEle:元素句柄
// bGroupActivate:延迟组成员激活
func X窗格_显示(元素句柄 int, 延迟组成员激活 bool) {
	xPane_ShowPane.Call(uintptr(元素句柄), common.X布尔值到uintptr(延迟组成员激活))
}

// 窗格_停靠, 窗格停靠到码头.
//
// ff:窗格_停靠
// hEle:元素句柄
func X窗格_停靠(元素句柄 int) {
	xPane_DockPane.Call(uintptr(元素句柄))
}

// 窗格_锁定, 锁定窗格.
//
// ff:窗格_锁定
// hEle:元素句柄
func X窗格_锁定(元素句柄 int) {
	xPane_LockPane.Call(uintptr(元素句柄))
}

// 窗格_浮动.
//
// ff:窗格_浮动
// hEle:元素句柄
func X窗格_浮动(元素句柄 int) {
	xPane_FloatPane.Call(uintptr(元素句柄))
}

// 窗格_绘制, 手动调用该函数绘制窗格, 以便控制绘制顺序.
//
//
// ff:窗格_绘制
// hEle:元素句柄
// hDraw:图形绘制句柄
func X窗格_绘制(元素句柄 int, 图形绘制句柄 int) {
	xPane_DrawPane.Call(uintptr(元素句柄), uintptr(图形绘制句柄))
}

// 窗口_置选中, 如果窗格是组成员, 设置选中当前窗格可见.
//
// ff:窗口_设置选中
// hEle:元素句柄
func X窗口_设置选中(元素句柄 int) bool {
	r, _, _ := xPane_SetSelect.Call(uintptr(元素句柄))
	return r != 0
}

// 窗格_是否激活. 判断窗格是否激活, 当为组成员时有效.
//
// ff:窗格_是否激活
// hEle:元素句柄
func X窗格_是否激活(元素句柄 int) bool {
	r, _, _ := xPane_IsGroupActivate.Call(uintptr(元素句柄))
	return r != 0
}
